package com.panfeng.xcloud.boss.provider.member.service;

import com.panfeng.xcloud.boss.provider.member.dto.request.*;
import com.panfeng.xcloud.boss.provider.member.dto.response.GetExchangeSupportCoinsRespDTO;
import com.panfeng.xcloud.boss.provider.member.web.vo.response.GetApiInfoRespVO;
import com.panfeng.xcloud.boss.provider.member.web.vo.response.GetSupportCoinsRespVO;
import com.panfeng.xcloud.boss.provider.member.web.vo.response.OkexPwdRespVO;

import java.util.List;

public interface IExchangeBindingOkexService {

    /**
     * 校验秘钥正确性
     * @param reqBean
     * @return
     */
    boolean okexVerify(OkexVerifyReqDTO reqBean);

    /**
     * 绑定(重绑)OKEX
     * @param reqBean
     * @return
     */
    boolean okexBinding(OkexBindingReqDTO reqBean);

    /**
     * 修改okex绑定
     * @param reqBean
     * @return
     */
    boolean reOkexBinding(OkexBindingReqDTO reqBean);

    /**
     * 解绑OKEX接口
     * @param okexUnbindReqDTO
     * @return
     */
    boolean okexUnbind(OkexUnbindReqDTO okexUnbindReqDTO);

    /**
     * 根据用户id获取用户okex秘钥
     * 注意切勿对外暴露该接口,调用该接口时验证是否是为该用户本人
     * @param userId
     * @return
     */
    OkexPwdRespVO getUserOkexPwd(String userId);

    /**
     * 修改支持币种
     * @param updateSupportCoinsReqDTO
     * @return
     */
    boolean updateSupportCoins(UpdateSupportCoinsReqDTO updateSupportCoinsReqDTO);

    /**
     * 获取支持币种
     * @param updateSupportCoinsReqDTO
     * @return
     */
    GetSupportCoinsRespVO getSupportCoins(GetSupportCoinsReqDTO updateSupportCoinsReqDTO);

    /**
     * 获取api信息
     * @param getApiInfoReqDTO
     */
    GetApiInfoRespVO getApiInfo(GetApiInfoReqDTO getApiInfoReqDTO);

    /**
     * 获取交易所支持币种
     * @param getApiInfoReqDTO
     * @return
     */
    List<GetExchangeSupportCoinsRespDTO> getExchangeSupportCoins(GetExchangeSupportCoinsReqDTO getApiInfoReqDTO);

}
